Cmpsci 677 Operating Systems 6.1 Virtualization Recap 6.2 Virtualization Continued 6.2.1 Type 2 Hypervisor
نویسندگان
چکیده
Virtualization was discussed and defined as mimicking one interface using another. Different types of virtualization (like native, application-level etc.) were discussed. Understanding Type 1 virtualization requires some background on how CPUs is designed. A processor can operate in two modes: user mode or kernel mode. Also referred to in terms of rings of protection: ring 1 or ring 3 (for user mode) or ring 0 (for kernel mode). Out of the list of assembly instructions, some instructions can only be executed by the kernel. The rest of the instructions can be executed in either mode. When the OS is executing, the CPU is in kernel mode. When user programs execute, the CPU is in user mode. The kernel sets a mode bit to 1 when it runs. So when the mode bit is not set to one, the CPU runs in user mode. In a non-virtualized setting, the kernel executes in kernel mode, and user processes execute in user mode. In a virtualized world, the hypervisor executes in kernel mode. The virtual machine (containing the guest operating system and the user programs) executes in user mode. Although the kernel inside the virtual machine is executing in user mode, it will still try to execute all the kernel instructions as it would normally do in a non-virtualized setting. The CPU will not allow these instructions to be executed in user mode. Therefore, in order to enable the kernel in the virtual machine to execute kernel instructions, those kernel instructions in user mode must cause a trap. Whenever a kernel mode instruction executed in user mode causes a trap, it causes the hypervisor to run. Now the hypervisor runs in kernel mode, and can then execute the instructions on behalf of the guest OS kernel. Until recently, Intel processors ignored kernel instructions that were executed in user mode. The newer Intel processors have support for virtualization called virtualization technology (VT). Newer AMD processors also have support for virtualization and are called AMD SVM. In these newer processors, a bit vector can be set dynamically for those instructions that should cause a trap when they execute in user mode. So by setting the bit to one for all kernel instructions, one can cause traps for kernel instructions executed in user mode. Therefore, VT enabled Intel Processors or SVM enabled AMD processors can implement a type 1 hypervisor. Older Intel and AMD processors cannot.
منابع مشابه
Performance Comparison between Light Weight Virtualization Using Docker and Heavy Weight Virtualization
These days everything is shifting to cloud computing. Two of the major types of clouds are infrastructure as a service (IAAS) & Platform as a service (PAAS) cloud. Network engineers and administrators make use of IAAS instead of physical hardware for implementing servers. Software Developers use PAAS for programming purposes. Virtualization is the main base for implementing cloud computing. The...
متن کاملEvaluating Performance of Virtual Machines
Virtualization is becoming increasingly popular, both for servers as well as desktop systems. It is a core technology of the IT applications such as green IT and cloud computing. Operating system which directly communicates with system hardware is host operating system and Operating system which runs on hypervisor type-2 is guest (virtual) operating system. Performance of the guest (virtual) op...
متن کاملThe Turtles Project: Design and Implementation of Nested Virtualization
In classical machine virtualization, a hypervisor runs multiple operating systems simultaneously, each on its own virtual machine. In nested virtualization, a hypervisor can run multiple other hypervisors with their associated virtual machines. As operating systems gain hypervisor functionality—Microsoft Windows 7 already runs Windows XP in a virtual machine—nested virtualization will become ne...
متن کاملPrototype of Light-weight Hypervisor for ARM Server Virtualization
As ARM CPUs become increasingly common in the server world, virtualization technologies for mobile systems need to be extended for ARM server systems. However, because this system has the limited resources compared to the traditional x86 server system, new virtualization technologies should be considered to allow as many virtual machines as possible to run efficiently and simultaneously on sing...
متن کاملKVM/ARM: Experiences Building the Linux ARM Hypervisor
As ARM CPUs become increasingly common in mobile devices and servers, there is a growing demand for providing the benefits of virtualization for ARMbased devices. We present our experiences building the Linux ARM hypervisor, KVM/ARM, the first full system ARM virtualization solution that can run unmodified guest operating systems on ARM multicore hardware. KVM/ARM introduces split-mode virtuali...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013